
/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Live-Video
视频直播相关接口

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/

#import <Foundation/Foundation.h>

#import <JDCloudOCSDKLive/LiveExecutor.h>


/// 查询在线流列表
@implementation  LiveDescribeDomainOnlineStreamExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeDomainOnlineStream";
    return self;
}
@end

/// 查询URL播放排行
@implementation  LiveDescribeUrlRankingExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeUrlRanking";
    return self;
}
@end

/// 开启回看
   /// 1、直播回看文件格式仅支持m3u8。
   /// 2、回看时长用户可以配置，最大支持7天，即用户请求回看内容，最多可以请求最近7天的直播回看内容。
   /// 3、域名格式：http://{restartDomain}/{appName}/{streamName}/index.m3u8?starttime&#x3D;1527756680&amp;endtime&#x3D;1527760280 (unix时间戳)
   /// 4、starttime-endtime最长可支持24小时，可跨天
   /// 
@implementation  LiveOpenLiveRestartExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PUT";
    self.url = @"/domains/liveRestart:open";
    return self;
}
@end

/// 添加应用质量检测配置
   /// - 添加应用级别的质量检测模板配置
   /// 
@implementation  LiveAddLiveStreamAppQualityDetectionExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/qualityDetectionApps:template";
    return self;
}
@end

/// 删除直播流状态回调地址
@implementation  LiveDeleteLiveStreamNotifyConfigExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/streamNotifys/{publishDomain}";
    return self;
}
@end

/// 添加直播质量检测模板
@implementation  LiveAddCustomLiveStreamQualityDetectionTemplateExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/qualityDetectionCustoms:template";
    return self;
}
@end

/// 开启P2P
   /// 
@implementation  LiveOpenLiveP2pExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PUT";
    self.url = @"/domains/liveP2p:open";
    return self;
}
@end

/// 查询用户自定义直播录制模板列表
   /// 
@implementation  LiveDescribeCustomLiveStreamRecordTemplatesExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/recordCustoms:template";
    return self;
}
@end

/// 查询转码模板绑定
   /// 
@implementation  LiveDescribeTranscodeBindingExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/transcodeTemplates/{template}:binding";
    return self;
}
@end

/// 查询直播直播录制配置
   /// - 录制模板配置按照 域名,应用,流 3级配置添加,以最小的粒度配置生效
   /// - 域名、应用、流 依次粒度递减 即: 域名&gt;应用&gt;流
   /// - 该查询旨在查询域名、应用、流最终生效的录制模板配置,并非各级的模板绑定情况
   /// 
@implementation  LiveDescribeCustomLiveStreamRecordConfigExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/records:config";
    return self;
}
@end

/// 查询域名列表
@implementation  LiveDescribeLiveDomainsExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains";
    return self;
}
@end

/// 添加直播应用名
   /// - 需要提前在应用(app)级别绑定功能模板时才需要提前新建应用名
   /// - 新的应用名可以推流时自动创建
   /// 
@implementation  LiveAddLiveAppExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains";
    return self;
}
@end

/// 删除应用级别水印模板配置
   /// - 删除应用级别的水印模板配置,重新推流后生效
   /// 
@implementation  LiveDeleteLiveStreamAppWatermarkExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/watermarkApps/{publishDomain}/appNames/{appName}/templates/{template}";
    return self;
}
@end

/// 查询直播回看播放鉴权KEY
@implementation  LiveDescribeLiveRestartAuthKeyExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/liveRestartAuthKey";
    return self;
}
@end

/// 查询直播流播放人数排行
@implementation  LiveDescribeLiveStreamPlayerRankingDataExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeLiveStreamPlayerRankingData";
    return self;
}
@end

/// 查询水印模板绑定
   /// 
@implementation  LiveDescribeWatermarkBindingExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/watermarkTemplates/{template}:binding";
    return self;
}
@end

/// 查询流分组统计数据
@implementation  LiveDescribeLiveStatisticGroupByStreamExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeLiveStatisticGroupByStream";
    return self;
}
@end

/// 设置直播录制回调通知
   /// 
@implementation  LiveSetLiveStreamRecordNotifyConfigExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/recordNotifys:config";
    return self;
}
@end

/// 添加直播截图模板
@implementation  LiveAddCustomLiveStreamSnapshotTemplateExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/snapshotCustoms:template";
    return self;
}
@end

/// 启动域名
   /// - 启用状态为 停用 的直播域名对(推流域名,播放域名)将DomainStatus变更为online
   /// 
@implementation  LiveStartLiveDomainExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PUT";
    self.url = @"/domains:start";
    return self;
}
@end

/// 查询用户定义水印模板列表
   /// 
@implementation  LiveDescribeCustomLiveStreamWatermarkTemplatesExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/watermarkCustoms";
    return self;
}
@end

/// 添加应用转码配置
   /// - 添加应用级别的转码模板配置
   /// 
@implementation  LiveAddLiveStreamAppTranscodeExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/transcodeApps:config";
    return self;
}
@end

/// 删除截图回调配置
   /// 
@implementation  LiveDeleteLiveStreamSnapshotNotifyConfigExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/snapshotNotifys/{publishDomain}:config";
    return self;
}
@end

/// 查询时移配置
@implementation  LiveDescribeLiveTimeshiftConfigsExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/liveTimeshift:configs";
    return self;
}
@end

/// 添加应用级别水印配置
   /// 
@implementation  LiveAddLiveStreamAppWatermarkExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/watermarkApps:config";
    return self;
}
@end

/// 删除APP截图配置
@implementation  LiveDeleteLiveStreamAppSnapshotExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/snapshotApps/{publishDomain}/appNames/{appName}/templates/{template}";
    return self;
}
@end

/// 删除录制回调配置
   /// 
@implementation  LiveDeleteLiveStreamRecordNotifyConfigExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/recordNotifys/{publishDomain}";
    return self;
}
@end

/// 查询直播水印配置
   /// - 水印模板配置按照 域名,应用,流 3级配置添加,以最小的粒度配置生效
   /// - 域名、应用、流 依次粒度递减 即: 域名&gt;应用&gt;流
   /// - 该查询旨在查询域名、应用、流最终生效的水印模板配置,并非各级的模板绑定情况
   /// 
@implementation  LiveDescribeCustomLiveStreamWatermarkConfigExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/watermarks:config";
    return self;
}
@end

/// 添加用户自定义直播录制模板
   /// 
@implementation  LiveAddCustomLiveStreamRecordTemplateExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/recordCustoms:template";
    return self;
}
@end

/// 查询转码时长数据
@implementation  LiveDescribeLiveTranscodingDurationDataExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeLiveTranscodingDurationData";
    return self;
}
@end

/// 查询P2P配置
@implementation  LiveDescribeLiveP2pConfigsExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/liveP2p:configs";
    return self;
}
@end

/// 查询(直播or时移)播放鉴权KEY
@implementation  LiveDescribeLivePlayAuthKeyExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/livePlayAuthKey";
    return self;
}
@end

/// 查询截图模板绑定
   /// 
@implementation  LiveDescribeSnapshotBindingExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/snapshotTemplates/{template}:binding";
    return self;
}
@end

/// 删除用户自定义转码模板
   /// - 删除用户自定义转码模板之前必须先删除此模板在各域名、应用、流级别的转码设置
   /// 
@implementation  LiveDeleteCustomLiveStreamTranscodeTemplateExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/transcodeCustoms/{template}";
    return self;
}
@end

/// 查询用户自定义转码模板列表
   /// 
@implementation  LiveDescribeCustomLiveStreamTranscodeTemplatesExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/transcodeCustoms";
    return self;
}
@end

/// 查询直播鉴黄张数数据
@implementation  LiveDescribeLivePornDataExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/livePornData";
    return self;
}
@end

/// 停用域名
   /// - 停用直播域名对(推流域名,播放域名),将DomainStatus变更为offline
   /// - 停用该直播域名对后,直播域名信息仍保留,但用户将不能再用该推流域名推流或播放域名播放
   /// 
@implementation  LiveStopLiveDomainExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PUT";
    self.url = @"/domains:stop";
    return self;
}
@end

/// 查询存储空间数据
@implementation  LiveDescribeLiveFileStorageDataExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeLiveFileStorageData";
    return self;
}
@end

/// 查询直播中的流的信息
@implementation  LiveDescribeLiveStreamOnlineListExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/streams/{publishDomain}/onlineList";
    return self;
}
@end

/// 查询录制回调配置
   /// 
@implementation  LiveDescribeLiveStreamRecordNotifyConfigExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/recordNotifys/{publishDomain}";
    return self;
}
@end

/// 添加域名截图配置
   /// - 添加域名级别的截图模板配置
   /// 
@implementation  LiveAddLiveStreamDomainSnapshotExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/snapshotDomains:template";
    return self;
}
@end

/// 设置直播流状态回调地址
@implementation  LiveSetLiveStreamNotifyConfigExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/streamNotifys";
    return self;
}
@end

/// 查询直播流历史在线人数
@implementation  LiveDescribeLiveStreamHistoryUserNumExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeLiveStreamHistoryUserNum";
    return self;
}
@end

/// 设置直播截图回调通知地址
   /// 
@implementation  LiveSetLiveStreamSnapshotNotifyConfigExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/snapshotNotifys:config";
    return self;
}
@end

/// 添加域名质量检测配置
   /// - 添加域名级别的质量检测模板配置
   /// 
@implementation  LiveAddLiveStreamDomainQualityDetectionExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/qualityDetectionDomains:template";
    return self;
}
@end

/// 关闭P2P
@implementation  LiveCloseLiveP2pExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PUT";
    self.url = @"/domains/liveP2p:close";
    return self;
}
@end

/// 删除直播域名
   /// - 请慎重操作（建议在进行域名删除前到域名解析服务商处恢复域名A记录），以免导致删除操作后此域名不可访问。
   ///   deleteLiveDomain调用成功后将删除本条直播域名的全部相关记录，对于仅需要暂停使用该直播域名，推荐stopLiveDomain接口
   /// 
@implementation  LiveDeleteLiveDomainExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/{publishDomain}";
    return self;
}
@end

/// 查询推流带宽
   /// - 查询某个时间段内的推流上行带宽数据
   /// - 查询1分钟粒度的数据时，时间跨度不超过7天，其他粒度时时间跨度不超过30天
   /// 
@implementation  LiveDescribeLiveStreamPublishBandwidthDataExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeLiveStreamPublishBandwidthData";
    return self;
}
@end

/// 恢复直播流推送
@implementation  LiveResumeLiveStreamExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PUT";
    self.url = @"/domains/streams:resume";
    return self;
}
@end

/// 设置(直播or时移)播放证书
   /// -- 设置成功之后30分钟以内生效
   /// 
@implementation  LiveSetLiveDomainCertificateExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/liveDomainCertificate";
    return self;
}
@end

/// 查询直播截图配置
   /// - 截图模板配置按照 域名,应用,流 3级配置添加,以最小的粒度配置生效
   /// - 域名、应用、流 依次粒度递减 即: 域名&gt;应用&gt;流
   /// - 该查询旨在查询域名、应用、流最终生效的截图模板配置,并非各级的模板绑定情况
   /// 
@implementation  LiveDescribeCustomLiveStreamSnapshotConfigExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/snapshotCustoms:config";
    return self;
}
@end

/// 查询质量检测模板绑定
   /// 
@implementation  LiveDescribeQualityDetectionBindingExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/qualityDetectionTemplates/{template}:binding";
    return self;
}
@end

/// 查询回看配置
@implementation  LiveDescribeLiveRestartConfigsExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/liveRestart:configs";
    return self;
}
@end

/// 查询录制模板绑定
   /// 
@implementation  LiveDescribeRecordBindingExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/recordTemplates/{template}:binding";
    return self;
}
@end

/// 查询用户自定义转码模板详情
   /// - 查询用户自定义转码模板详情
   /// - 系统标准转码模板
   ///       ld (h.264/640*360/15f)
   ///       sd (h.264/960*540/24f)
   ///       hd (h.264/1280*720/25f)
   ///       shd (h.264/1920*1080/30f)
   ///       ld-265 (h.265/640*360/15f)
   ///       sd-265 (h.265/960*540/24f)
   ///       hd-265 (h.265/1280*720/25f)
   ///       shd-265 (h.265/1920*1080/30f)
   /// 
@implementation  LiveDescribeCustomLiveStreamTranscodeTemplateExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/transcodeCustoms/{template}";
    return self;
}
@end

/// 关闭回看
@implementation  LiveCloseLiveRestartExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PUT";
    self.url = @"/domains/liveRestart:close";
    return self;
}
@end

/// 添加应用截图配置
   /// - 添加应用级别的截图模板配置
   /// 
@implementation  LiveAddLiveStreamAppSnapshotExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/snapshotApps:template";
    return self;
}
@end

/// 查询转码流信息
@implementation  LiveDescribeLiveTranscodeStreamListExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeLiveTranscodeStreamList";
    return self;
}
@end

/// 关闭时移
@implementation  LiveCloseLiveTimeshiftExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PUT";
    self.url = @"/domains/liveTimeshift:close";
    return self;
}
@end

/// 删除直播质量检测模板
   /// - 删除质量检测模板前,请先删除此模板相关的质量检测配置,否则无法删除
   /// 
@implementation  LiveDeleteCustomLiveStreamQualityDetectionTemplateExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/qualityDetectionCustoms/{template}";
    return self;
}
@end

/// 查询直播播放证书
@implementation  LiveDescribeLiveDomainCertificateExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/liveDomainCertificate";
    return self;
}
@end

/// 查询转码流观看人数
@implementation  LiveDescribeLiveTranscodeStreamPlayerUserNumExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeLiveTranscodeStreamPlayerUserNum";
    return self;
}
@end

/// 添加打点录制任务
   /// - 您可以调用此接口精确提取已录制的文件中所需要的部分
   /// 
@implementation  LiveAddLiveRecordTaskExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/records/{publishDomain}/appNames/{appName}/streamNames/{streamName}/task";
    return self;
}
@end

/// 添加域名水印配置
   /// 
@implementation  LiveAddLiveStreamDomainWatermarkExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/watermarkDomains:config";
    return self;
}
@end

/// 删除域名截图配置
   /// - 删除域名级别的截图模板配置,重新推流后生效
   /// 
@implementation  LiveDeleteLiveStreamDomainSnapshotExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/snapshotDomains/{publishDomain}/templates/{template}";
    return self;
}
@end

/// 设置直播质量检测回调通知地址
   /// 
@implementation  LiveSetLiveStreamQualityDetectionNotifyConfigExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/qualityDetectionNotifys:config";
    return self;
}
@end

/// 查询带宽数据
   /// - 查询某个时间段内的带宽数据（平均带宽）
   /// - 查询1分钟粒度的数据时，时间跨度不超过7天，其他粒度时时间跨度不超过30天
   /// 
@implementation  LiveDescribeLiveStreamBandwidthDataExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeLiveStreamBandwidthData";
    return self;
}
@end

/// 日志下载
@implementation  LiveDescribeDomainsLogExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeDomainsLog";
    return self;
}
@end

/// 添加回看域名
   /// 
@implementation  LiveAddLiveRestartDomainExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PUT";
    self.url = @"/domains:restart";
    return self;
}
@end

/// 删除域名质量检测配置
   /// - 删除域名级别的质量检测模板配置,重新推流后生效
   /// 
@implementation  LiveDeleteLiveStreamDomainQualityDetectionExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/qualityDetectionDomains/{publishDomain}/templates/{template}";
    return self;
}
@end

/// 查询直播回看播放证书
@implementation  LiveDescribeLiveRestartDomainCertificateExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/liveRestartDomainCertificate";
    return self;
}
@end

/// 禁止直播流推送
@implementation  LiveForbidLiveStreamExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PUT";
    self.url = @"/domains/streams:forbid";
    return self;
}
@end

/// 查询推流监控数据
@implementation  LiveDescribePublishStreamInfoDataExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describePublishStreamInfoData";
    return self;
}
@end

/// 查询转码流数量
@implementation  LiveDescribeLiveTranscodeStreamNumExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeLiveTranscodeStreamNum";
    return self;
}
@end

/// 设置直播回看播放鉴权KEY
@implementation  LiveSetLiveRestartAuthKeyExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/liveRestartAuthKey";
    return self;
}
@end

/// 查询指定域名相关信息
@implementation  LiveDescribeLiveDomainDetailExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/{publishDomain}";
    return self;
}
@end

/// 删除用户自定义直播截图模板
   /// - 删除截图模板前,请先删除此模板相关的截图配置,否则将会影响线上业务
   /// 
@implementation  LiveDeleteCustomLiveStreamSnapshotTemplateExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/snapshotCustoms/{template}";
    return self;
}
@end

/// 添加用户自定义水印模板
   /// 
@implementation  LiveAddCustomLiveStreamWatermarkTemplateExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/watermarkCustoms:template";
    return self;
}
@end

/// 删除用户自定义水印模板
   /// - 删除用户自定义水印模板之前必须先删除此模板在各域名、应用、流级别的水印设置
   /// 
@implementation  LiveDeleteCustomLiveStreamWatermarkTemplateExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/watermarkCustoms/{template}";
    return self;
}
@end

/// 删除域名级别水印模板配置
   /// - 删除域名级别水印模板配置,重新推流后生效
   /// 
@implementation  LiveDeleteLiveStreamDomainWatermarkExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/watermarkDomains/{publishDomain}/templates/{template}";
    return self;
}
@end

/// 删除应用级别录制模板配置
   /// - 删除应用级别的录制模板配置,重新推流后生效
   /// 
@implementation  LiveDeleteLiveStreamAppRecordExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/recordApps/{publishDomain}/appNames/{appName}/templates/{template}";
    return self;
}
@end

/// 删除用户自定义录制模板
   /// - 删除用户自定义录制模板之前必须先删除此模板在各域名、应用、流级别的录制设置
   /// 
@implementation  LiveDeleteCustomLiveStreamRecordTemplateExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/recordCustoms/{template}";
    return self;
}
@end

/// 删除质量检测回调配置
   /// 
@implementation  LiveDeleteLiveStreamQualityDetectionNotifyConfigExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/qualityDetectionNotifys/{publishDomain}:config";
    return self;
}
@end

/// 设置直播回看证书
   /// -- 设置成功之后30分钟以内生效
   /// 
@implementation  LiveSetLiveRestartDomainCertificateExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/liveRestartDomainCertificate";
    return self;
}
@end

/// 查询直播截图张数数据
@implementation  LiveDescribeLiveSnapshotDataExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/liveSnapshotData";
    return self;
}
@end

/// 删除域名级别转码模板配置
   /// - 删除域名级别转码模板配置,重新推流后生效
   /// 
@implementation  LiveDeleteLiveStreamDomainTranscodeExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/transcodeDomains/{publishDomain}/templates/{template}:config";
    return self;
}
@end

/// 删除应用级别质量检测模板配置
   /// - 删除应用级别质量检测模板配置,重新推流后生效
   /// 
@implementation  LiveDeleteLiveStreamAppQualityDetectionExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/qualityDetectionApps/{publishDomain}/appNames/{appName}/templates/{template}";
    return self;
}
@end

/// 删除域名级别录制模板配置
   /// - 删除域名级别录制模板配置,重新推流后生效
   /// 
@implementation  LiveDeleteLiveStreamDomainRecordExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/recordDomains/{publishDomain}/templates/{template}";
    return self;
}
@end

/// 查询直播推流数
@implementation  LiveDescribeLivePublishStreamNumExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeLivePublishStreamNum";
    return self;
}
@end

/// 查询系统默认转码模板列表
   /// 
@implementation  LiveDescribeSystemLiveStreamTranscodeTemplatesExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/transcodeSystem";
    return self;
}
@end

/// 查询地域分组统计数据
@implementation  LiveDescribeLiveStatisticGroupByAreaExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeLiveStatisticGroupByArea";
    return self;
}
@end

/// 查看推流历史记录
@implementation  LiveDescribeLiveStreamPublishListExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/streams/{publishDomain}/publishList";
    return self;
}
@end

/// 查询推流上行流量数据
   /// - 查询某个时间段内的流量数据。
   /// - 查询1分钟粒度的数据时，时间跨度不超过7天，其他粒度时时间跨度不超过30天
   /// 
@implementation  LiveDescribeLiveStreamPublishTrafficDataExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeLiveStreamPublishTrafficData";
    return self;
}
@end

/// 添加应用级别直播录制配置
   /// - 添加应用级别的直播录制模板配置
   /// 
@implementation  LiveAddLiveStreamAppRecordExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/recordApps:config";
    return self;
}
@end

/// 添加域名级别直播录制配置
   /// - 添加域名级别的直播录制模板配置
   /// 
@implementation  LiveAddLiveStreamDomainRecordExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/recordDomains:config";
    return self;
}
@end

/// 查询地域/运营商分组统计数据
@implementation  LiveDescribeLiveStatisticGroupByAreaIspExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeLiveStatisticGroupByAreaIsp";
    return self;
}
@end

/// 查询截图回调配置
   /// 
@implementation  LiveDescribeLiveStreamSnapshotNotifyConfigExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/snapshotNotifys/{publishDomain}:config";
    return self;
}
@end

/// 查询转码模板配置
   /// - 转码模板配置按照 域名,应用,流 3级配置添加,以最小的粒度配置生效原则
   /// - 域名、应用、流 依次粒度递减 即: 域名&gt;应用&gt;流
   /// - 该查询旨在查询域名、应用、流最终生效的转码模板配置,并非各级的模板绑定情况
   /// 
@implementation  LiveDescribeLiveStreamTranscodeConfigExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/transcodes:config";
    return self;
}
@end

/// 设置(直播or时移)播放鉴权KEY
@implementation  LiveSetLivePlayAuthKeyExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/livePlayAuthKey";
    return self;
}
@end

/// 查询域名下的APP列表
@implementation  LiveDescribeLiveAppExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains";
    return self;
}
@end

/// 中断直播流推送
   /// - 中断操作1秒后可以继续推流
   /// 
@implementation  LiveInterruptLiveStreamExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PUT";
    self.url = @"/domains/streams:interrupt";
    return self;
}
@end

/// 查询质量检测回调配置
   /// 
@implementation  LiveDescribeLiveStreamQualityDetectionNotifyConfigExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/qualityDetectionNotifys/{publishDomain}:config";
    return self;
}
@end

/// 添加直播域名
   /// - 创建直播域名之前,必须先开通直播服务
   /// - 直播域名必须已经备案完成
   /// 
@implementation  LiveAddLiveDomainExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains";
    return self;
}
@end

/// 查询转码流播放带宽
   /// - 查询1分钟粒度的数据时，时间跨度不超过7天，其他粒度时时间跨度不超过30天
   /// 
@implementation  LiveDescribeLiveTranscodeStreamBandwidthExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeLiveTranscodeStreamBandwidth";
    return self;
}
@end

/// 查询直播实时流信息
   /// 
@implementation  LiveDescribeLiveStreamInfoExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/streams/{publishDomain}/appNames/{appName}/streamNames/{streamName}/streamInfo";
    return self;
}
@end

/// 查询直播质量检测模板列表
@implementation  LiveDescribeCustomLiveStreamQualityDetectionTemplatesExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/qualityDetectionCustoms";
    return self;
}
@end

/// 查询直播流状态回调地址
@implementation  LiveDescribeLiveStreamNotifyConfigExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/streamNotifys/{publishDomain}";
    return self;
}
@end

/// 查询直播截图模板列表
@implementation  LiveDescribeCustomLiveStreamSnapshotTemplatesExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/snapshotCustoms";
    return self;
}
@end

/// 停用 运行中 状态的应用
   /// - 停用应用之后,不能再用此应用名推流
   /// 
@implementation  LiveStopLiveAppExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PUT";
    self.url = @"/domains:stop";
    return self;
}
@end

/// 查询流量数据
   /// - 查询某个时间段内的流量数据。
   /// - 查询1分钟粒度的数据时，时间跨度不超过7天，其他粒度时时间跨度不超过30天
   /// 
@implementation  LiveDescribeLiveStreamTrafficDataExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/domains/describeLiveStreamTrafficData";
    return self;
}
@end

/// 添加自定义转码模板
   /// - 系统为您预设了标准转码模板,如果不能满足您的转码需求,可以通过此接口添加自定义转码模板
   /// - 系统标准转码模板
   ///     ld (h.264/640*360/15f)
   ///     sd (h.264/960*540/25f)
   ///     hd (h.264/1280*720/25f)
   ///     shd (h.264/1920*1080/30f)
   ///     ld-265 (h.265/640*360/15f)
   ///     sd-265 (h.265/960*540/25f)
   ///     hd-265 (h.265/1280*720/25f)
   ///     shd-265 (h.265/1920*1080/30f)
   /// 
@implementation  LiveAddCustomLiveStreamTranscodeTemplateExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/transcodeCustoms:template";
    return self;
}
@end

/// 添加域名级别转码配置
   /// - 添加域名级别的转码模板配置
   /// 
@implementation  LiveAddLiveStreamDomainTranscodeExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/domains/transcodeDomains:config";
    return self;
}
@end

/// 删除应用级别转码模板配置
   /// - 删除应用级别的转码模板配置,重新推流后生效
   /// 
@implementation  LiveDeleteLiveStreamAppTranscodeExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/domains/transcodeApps/{publishDomain}/appNames/{appName}/templates/{template}";
    return self;
}
@end

/// 开启时移
   /// 直播支持最大4小时的HLS时移，使用方式为在播放域名后增加时移参数来实现，参数类型支持指定开始时间和时间偏移量2种方式进行时移。 开启直播时移后，重新推流生效，使用播放域名带相应参数访问即可播放
   /// - 域名格式：
   /// 1、http://{playDomain}/{appName}/{streamName}/index.m3u8?timeshift&#x3D;400（秒，指从当前时间往前时移的偏移量）
   /// 2、http://{playDomain}/{appName}/{streamName}/index.m3u8?starttime&#x3D;1529223702 (unix时间戳)
   /// 
@implementation  LiveOpenLiveTimeshiftExecutor

-(id) initWithJDCloudClient:(LiveClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PUT";
    self.url = @"/domains/liveTimeshift:open";
    return self;
}
@end
